﻿using System.Collections.Generic;

namespace Nm.Module.Quartz.Infrastructure.Repositories
{
    public class CreateTableSql
    {
        public List<string> SqlServer = new List<string>
        {
            "CREATE TABLE [dbo].[QRTZ_CALENDARS]( [SCHED_NAME] NVARCHAR(120) NOT NULL, [CALENDAR_NAME] NVARCHAR(200) NOT NULL, [CALENDAR] VARBINARY(MAX) NOT NULL);",
            "CREATE TABLE [dbo].[QRTZ_CRON_TRIGGERS]( [SCHED_NAME] NVARCHAR(120) NOT NULL, [TRIGGER_NAME] NVARCHAR(150) NOT NULL, [TRIGGER_GROUP] NVARCHAR(150) NOT NULL, [CRON_EXPRESSION] NVARCHAR(120) NOT NULL, [TIME_ZONE_ID] NVARCHAR(80));",
            "CREATE TABLE [dbo].[QRTZ_FIRED_TRIGGERS]( [SCHED_NAME] NVARCHAR(120) NOT NULL, [ENTRY_ID] NVARCHAR(140) NOT NULL, [TRIGGER_NAME] NVARCHAR(150) NOT NULL, [TRIGGER_GROUP] NVARCHAR(150) NOT NULL, [INSTANCE_NAME] NVARCHAR(200) NOT NULL, [FIRED_TIME] BIGINT NOT NULL, [SCHED_TIME] BIGINT NOT NULL, [PRIORITY] INT NOT NULL, [STATE] NVARCHAR(16) NOT NULL, [JOB_NAME] NVARCHAR(150) NULL, [JOB_GROUP] NVARCHAR(150) NULL, [IS_NONCONCURRENT] BIT NULL, [REQUESTS_RECOVERY] BIT NULL);",
            "CREATE TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS]( [SCHED_NAME] NVARCHAR(120) NOT NULL, [TRIGGER_GROUP] NVARCHAR(150) NOT NULL);",
            "CREATE TABLE [dbo].[QRTZ_SCHEDULER_STATE]( [SCHED_NAME] NVARCHAR(120) NOT NULL, [INSTANCE_NAME] NVARCHAR(200) NOT NULL, [LAST_CHECKIN_TIME] BIGINT NOT NULL, [CHECKIN_INTERVAL] BIGINT NOT NULL);",
            "CREATE TABLE [dbo].[QRTZ_LOCKS]( [SCHED_NAME] NVARCHAR(120) NOT NULL, [LOCK_NAME] NVARCHAR(40) NOT NULL);",
            "CREATE TABLE [dbo].[QRTZ_JOB_DETAILS]( [SCHED_NAME] NVARCHAR(120) NOT NULL, [JOB_NAME] NVARCHAR(150) NOT NULL, [JOB_GROUP] NVARCHAR(150) NOT NULL, [DESCRIPTION] NVARCHAR(250) NULL, [JOB_CLASS_NAME] NVARCHAR(250) NOT NULL, [IS_DURABLE] BIT NOT NULL, [IS_NONCONCURRENT] BIT NOT NULL, [IS_UPDATE_DATA] BIT NOT NULL, [REQUESTS_RECOVERY] BIT NOT NULL, [JOB_DATA] VARBINARY(MAX) NULL);",
            "CREATE TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS]( [SCHED_NAME] NVARCHAR(120) NOT NULL, [TRIGGER_NAME] NVARCHAR(150) NOT NULL, [TRIGGER_GROUP] NVARCHAR(150) NOT NULL, [REPEAT_COUNT] INT NOT NULL, [REPEAT_INTERVAL] BIGINT NOT NULL, [TIMES_TRIGGERED] INT NOT NULL);",
            "CREATE TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS]( [SCHED_NAME] NVARCHAR(120) NOT NULL, [TRIGGER_NAME] NVARCHAR(150) NOT NULL, [TRIGGER_GROUP] NVARCHAR(150) NOT NULL, [STR_PROP_1] NVARCHAR(512) NULL, [STR_PROP_2] NVARCHAR(512) NULL, [STR_PROP_3] NVARCHAR(512) NULL, [INT_PROP_1] INT NULL, [INT_PROP_2] INT NULL, [LONG_PROP_1] BIGINT NULL, [LONG_PROP_2] BIGINT NULL, [DEC_PROP_1] NUMERIC(13, 4) NULL, [DEC_PROP_2] NUMERIC(13, 4) NULL, [BOOL_PROP_1] BIT NULL, [BOOL_PROP_2] BIT NULL, [TIME_ZONE_ID] NVARCHAR(80) NULL);",
            "CREATE TABLE [dbo].[QRTZ_BLOB_TRIGGERS]( [SCHED_NAME] NVARCHAR(120) NOT NULL, [TRIGGER_NAME] NVARCHAR(150) NOT NULL, [TRIGGER_GROUP] NVARCHAR(150) NOT NULL, [BLOB_DATA] VARBINARY(MAX) NULL);",
            "CREATE TABLE [dbo].[QRTZ_TRIGGERS]( [SCHED_NAME] NVARCHAR(120) NOT NULL, [TRIGGER_NAME] NVARCHAR(150) NOT NULL, [TRIGGER_GROUP] NVARCHAR(150) NOT NULL, [JOB_NAME] NVARCHAR(150) NOT NULL, [JOB_GROUP] NVARCHAR(150) NOT NULL, [DESCRIPTION] NVARCHAR(250) NULL, [NEXT_FIRE_TIME] BIGINT NULL, [PREV_FIRE_TIME] BIGINT NULL, [PRIORITY] INT NULL, [TRIGGER_STATE] NVARCHAR(16) NOT NULL, [TRIGGER_TYPE] NVARCHAR(8) NOT NULL, [START_TIME] BIGINT NOT NULL, [END_TIME] BIGINT NULL, [CALENDAR_NAME] NVARCHAR(200) NULL, [MISFIRE_INSTR] INT NULL, [JOB_DATA] VARBINARY(MAX) NULL);",
            "ALTER TABLE [dbo].[QRTZ_CALENDARS] WITH NOCHECK ADD CONSTRAINT [PK_QRTZ_CALENDARS] PRIMARY KEY CLUSTERED( [SCHED_NAME], [CALENDAR_NAME]);",
            "ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] WITH NOCHECK ADD CONSTRAINT [PK_QRTZ_CRON_TRIGGERS] PRIMARY KEY CLUSTERED( [SCHED_NAME], [TRIGGER_NAME], [TRIGGER_GROUP]);",
            "ALTER TABLE [dbo].[QRTZ_FIRED_TRIGGERS] WITH NOCHECK ADD CONSTRAINT [PK_QRTZ_FIRED_TRIGGERS] PRIMARY KEY CLUSTERED( [SCHED_NAME], [ENTRY_ID]);",
            "ALTER TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] WITH NOCHECK ADD CONSTRAINT [PK_QRTZ_PAUSED_TRIGGER_GRPS] PRIMARY KEY CLUSTERED( [SCHED_NAME], [TRIGGER_GROUP]);",
            "ALTER TABLE [dbo].[QRTZ_SCHEDULER_STATE] WITH NOCHECK ADD CONSTRAINT [PK_QRTZ_SCHEDULER_STATE] PRIMARY KEY CLUSTERED( [SCHED_NAME], [INSTANCE_NAME]);",
            "ALTER TABLE [dbo].[QRTZ_LOCKS] WITH NOCHECK ADD CONSTRAINT [PK_QRTZ_LOCKS] PRIMARY KEY CLUSTERED( [SCHED_NAME], [LOCK_NAME]);",
            "ALTER TABLE [dbo].[QRTZ_JOB_DETAILS] WITH NOCHECK ADD CONSTRAINT [PK_QRTZ_JOB_DETAILS] PRIMARY KEY CLUSTERED( [SCHED_NAME], [JOB_NAME], [JOB_GROUP]);",
            "ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] WITH NOCHECK ADD CONSTRAINT [PK_QRTZ_SIMPLE_TRIGGERS] PRIMARY KEY CLUSTERED( [SCHED_NAME], [TRIGGER_NAME], [TRIGGER_GROUP]);",
            "ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] WITH NOCHECK ADD CONSTRAINT [PK_QRTZ_SIMPROP_TRIGGERS] PRIMARY KEY CLUSTERED( [SCHED_NAME], [TRIGGER_NAME], [TRIGGER_GROUP]);",
            "ALTER TABLE [dbo].[QRTZ_TRIGGERS] WITH NOCHECK ADD CONSTRAINT [PK_QRTZ_TRIGGERS] PRIMARY KEY CLUSTERED( [SCHED_NAME], [TRIGGER_NAME], [TRIGGER_GROUP]);",
            "ALTER TABLE [dbo].[QRTZ_BLOB_TRIGGERS] WITH NOCHECK ADD CONSTRAINT [PK_QRTZ_BLOB_TRIGGERS] PRIMARY KEY CLUSTERED( [SCHED_NAME], [TRIGGER_NAME], [TRIGGER_GROUP]);",
            "ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] ADD CONSTRAINT [FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY( [SCHED_NAME], [TRIGGER_NAME], [TRIGGER_GROUP]) REFERENCES [dbo].[QRTZ_TRIGGERS] ( [SCHED_NAME], [TRIGGER_NAME], [TRIGGER_GROUP] ) ON DELETE CASCADE;",
            "ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] ADD CONSTRAINT [FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY( [SCHED_NAME], [TRIGGER_NAME], [TRIGGER_GROUP]) REFERENCES [dbo].[QRTZ_TRIGGERS] ( [SCHED_NAME], [TRIGGER_NAME], [TRIGGER_GROUP] ) ON DELETE CASCADE;",
            "ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] ADD CONSTRAINT [FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY( [SCHED_NAME], [TRIGGER_NAME], [TRIGGER_GROUP]) REFERENCES [dbo].[QRTZ_TRIGGERS] ( [SCHED_NAME], [TRIGGER_NAME], [TRIGGER_GROUP] ) ON DELETE CASCADE;",
            "ALTER TABLE [dbo].[QRTZ_TRIGGERS] ADD CONSTRAINT [FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS] FOREIGN KEY( [SCHED_NAME], [JOB_NAME], [JOB_GROUP]) REFERENCES [dbo].[QRTZ_JOB_DETAILS] ( [SCHED_NAME], [JOB_NAME], [JOB_GROUP] );",
            "CREATE INDEX [IDX_QRTZ_T_J] ON [dbo].[QRTZ_TRIGGERS]( SCHED_NAME, JOB_NAME, JOB_GROUP); CREATE INDEX [IDX_QRTZ_T_JG] ON [dbo].[QRTZ_TRIGGERS] ( SCHED_NAME, JOB_GROUP ); CREATE INDEX [IDX_QRTZ_T_C] ON [dbo].[QRTZ_TRIGGERS] ( SCHED_NAME, CALENDAR_NAME ); CREATE INDEX [IDX_QRTZ_T_G] ON [dbo].[QRTZ_TRIGGERS] ( SCHED_NAME, TRIGGER_GROUP ); CREATE INDEX [IDX_QRTZ_T_STATE] ON [dbo].[QRTZ_TRIGGERS] ( SCHED_NAME, TRIGGER_STATE ); CREATE INDEX [IDX_QRTZ_T_N_STATE] ON [dbo].[QRTZ_TRIGGERS] ( SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, TRIGGER_STATE ); CREATE INDEX [IDX_QRTZ_T_N_G_STATE] ON [dbo].[QRTZ_TRIGGERS] ( SCHED_NAME, TRIGGER_GROUP, TRIGGER_STATE ); CREATE INDEX [IDX_QRTZ_T_NEXT_FIRE_TIME] ON [dbo].[QRTZ_TRIGGERS] ( SCHED_NAME, NEXT_FIRE_TIME ); CREATE INDEX [IDX_QRTZ_T_NFT_ST] ON [dbo].[QRTZ_TRIGGERS] ( SCHED_NAME, TRIGGER_STATE, NEXT_FIRE_TIME ); CREATE INDEX [IDX_QRTZ_T_NFT_MISFIRE] ON [dbo].[QRTZ_TRIGGERS] ( SCHED_NAME, MISFIRE_INSTR, NEXT_FIRE_TIME ); CREATE INDEX [IDX_QRTZ_T_NFT_ST_MISFIRE] ON [dbo].[QRTZ_TRIGGERS] ( SCHED_NAME, MISFIRE_INSTR, NEXT_FIRE_TIME, TRIGGER_STATE ); CREATE INDEX [IDX_QRTZ_T_NFT_ST_MISFIRE_GRP] ON [dbo].[QRTZ_TRIGGERS] ( SCHED_NAME, MISFIRE_INSTR, NEXT_FIRE_TIME, TRIGGER_GROUP, TRIGGER_STATE ); CREATE INDEX [IDX_QRTZ_FT_TRIG_INST_NAME] ON [dbo].[QRTZ_FIRED_TRIGGERS] ( SCHED_NAME, INSTANCE_NAME ); CREATE INDEX [IDX_QRTZ_FT_INST_JOB_REQ_RCVRY] ON [dbo].[QRTZ_FIRED_TRIGGERS] ( SCHED_NAME, INSTANCE_NAME, REQUESTS_RECOVERY ); CREATE INDEX [IDX_QRTZ_FT_J_G] ON [dbo].[QRTZ_FIRED_TRIGGERS] ( SCHED_NAME, JOB_NAME, JOB_GROUP ); CREATE INDEX [IDX_QRTZ_FT_JG] ON [dbo].[QRTZ_FIRED_TRIGGERS] ( SCHED_NAME, JOB_GROUP ); CREATE INDEX [IDX_QRTZ_FT_T_G] ON [dbo].[QRTZ_FIRED_TRIGGERS] ( SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP ); CREATE INDEX [IDX_QRTZ_FT_TG] ON [dbo].[QRTZ_FIRED_TRIGGERS] ( SCHED_NAME, TRIGGER_GROUP );"
        };

        public List<string> MySql = new List<string>
        {
            "CREATE TABLE QRTZ_JOB_DETAILS( SCHED_NAME VARCHAR(120) NOT NULL, JOB_NAME VARCHAR(200) NOT NULL, JOB_GROUP VARCHAR(200) NOT NULL, DESCRIPTION VARCHAR(250) NULL, JOB_CLASS_NAME VARCHAR(250) NOT NULL, IS_DURABLE BOOLEAN NOT NULL, IS_NONCONCURRENT BOOLEAN NOT NULL, IS_UPDATE_DATA BOOLEAN NOT NULL, REQUESTS_RECOVERY BOOLEAN NOT NULL, JOB_DATA BLOB NULL, PRIMARY KEY(SCHED_NAME,JOB_NAME,JOB_GROUP)) ENGINE=InnoDB;",
            "CREATE TABLE QRTZ_TRIGGERS( SCHED_NAME VARCHAR(120) NOT NULL, TRIGGER_NAME VARCHAR(200) NOT NULL, TRIGGER_GROUP VARCHAR(200) NOT NULL, JOB_NAME VARCHAR(200) NOT NULL, JOB_GROUP VARCHAR(200) NOT NULL, DESCRIPTION VARCHAR(250) NULL, NEXT_FIRE_TIME BIGINT(19) NULL, PREV_FIRE_TIME BIGINT(19) NULL, PRIORITY INTEGER NULL, TRIGGER_STATE VARCHAR(16) NOT NULL, TRIGGER_TYPE VARCHAR(8) NOT NULL, START_TIME BIGINT(19) NOT NULL, END_TIME BIGINT(19) NULL, CALENDAR_NAME VARCHAR(200) NULL, MISFIRE_INSTR SMALLINT(2) NULL, JOB_DATA BLOB NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)) ENGINE=InnoDB;",
            "CREATE TABLE QRTZ_SIMPLE_TRIGGERS( SCHED_NAME VARCHAR(120) NOT NULL, TRIGGER_NAME VARCHAR(200) NOT NULL, TRIGGER_GROUP VARCHAR(200) NOT NULL, REPEAT_COUNT BIGINT(7) NOT NULL, REPEAT_INTERVAL BIGINT(12) NOT NULL, TIMES_TRIGGERED BIGINT(10) NOT NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) ENGINE=InnoDB;",
            "CREATE TABLE QRTZ_CRON_TRIGGERS( SCHED_NAME VARCHAR(120) NOT NULL, TRIGGER_NAME VARCHAR(200) NOT NULL, TRIGGER_GROUP VARCHAR(200) NOT NULL, CRON_EXPRESSION VARCHAR(120) NOT NULL, TIME_ZONE_ID VARCHAR(80), PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) ENGINE=InnoDB;",
            "CREATE TABLE QRTZ_SIMPROP_TRIGGERS( SCHED_NAME VARCHAR(120) NOT NULL, TRIGGER_NAME VARCHAR(200) NOT NULL, TRIGGER_GROUP VARCHAR(200) NOT NULL, STR_PROP_1 VARCHAR(512) NULL, STR_PROP_2 VARCHAR(512) NULL, STR_PROP_3 VARCHAR(512) NULL, INT_PROP_1 INT NULL, INT_PROP_2 INT NULL, LONG_PROP_1 BIGINT NULL, LONG_PROP_2 BIGINT NULL, DEC_PROP_1 NUMERIC(13,4) NULL, DEC_PROP_2 NUMERIC(13,4) NULL, BOOL_PROP_1 BOOLEAN NULL, BOOL_PROP_2 BOOLEAN NULL, TIME_ZONE_ID VARCHAR(80) NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) ENGINE=InnoDB;",
            "CREATE TABLE QRTZ_BLOB_TRIGGERS( SCHED_NAME VARCHAR(120) NOT NULL, TRIGGER_NAME VARCHAR(200) NOT NULL, TRIGGER_GROUP VARCHAR(200) NOT NULL, BLOB_DATA BLOB NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), INDEX (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) ENGINE=InnoDB;",
            "CREATE TABLE QRTZ_CALENDARS( SCHED_NAME VARCHAR(120) NOT NULL, CALENDAR_NAME VARCHAR(200) NOT NULL, CALENDAR BLOB NOT NULL, PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)) ENGINE=InnoDB;",
            "CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS( SCHED_NAME VARCHAR(120) NOT NULL, TRIGGER_GROUP VARCHAR(200) NOT NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)) ENGINE=InnoDB;",
            "CREATE TABLE QRTZ_FIRED_TRIGGERS( SCHED_NAME VARCHAR(120) NOT NULL, ENTRY_ID VARCHAR(140) NOT NULL, TRIGGER_NAME VARCHAR(200) NOT NULL, TRIGGER_GROUP VARCHAR(200) NOT NULL, INSTANCE_NAME VARCHAR(200) NOT NULL, FIRED_TIME BIGINT(19) NOT NULL, SCHED_TIME BIGINT(19) NOT NULL, PRIORITY INTEGER NOT NULL, STATE VARCHAR(16) NOT NULL, JOB_NAME VARCHAR(200) NULL, JOB_GROUP VARCHAR(200) NULL, IS_NONCONCURRENT BOOLEAN NULL, REQUESTS_RECOVERY BOOLEAN NULL, PRIMARY KEY (SCHED_NAME,ENTRY_ID)) ENGINE=InnoDB;",
            "CREATE TABLE QRTZ_SCHEDULER_STATE( SCHED_NAME VARCHAR(120) NOT NULL, INSTANCE_NAME VARCHAR(200) NOT NULL, LAST_CHECKIN_TIME BIGINT(19) NOT NULL, CHECKIN_INTERVAL BIGINT(19) NOT NULL, PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)) ENGINE=InnoDB;",
            "CREATE TABLE QRTZ_LOCKS( SCHED_NAME VARCHAR(120) NOT NULL, LOCK_NAME VARCHAR(40) NOT NULL, PRIMARY KEY (SCHED_NAME,LOCK_NAME)) ENGINE=InnoDB;",
            "CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY); CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP); CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP); CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP); CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME); CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP); CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE); CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE); CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE); CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME); CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME); CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME); CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE); CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE); CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME); CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY); CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP); CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP); CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);"
        };

        public List<string> SQLite = new List<string>
        {
            "CREATE TABLE QRTZ_JOB_DETAILS ( SCHED_NAME NVARCHAR(120) NOT NULL, JOB_NAME NVARCHAR(150) NOT NULL, JOB_GROUP NVARCHAR(150) NOT NULL, DESCRIPTION NVARCHAR(250) NULL, JOB_CLASS_NAME NVARCHAR(250) NOT NULL, IS_DURABLE BIT NOT NULL, IS_NONCONCURRENT BIT NOT NULL, IS_UPDATE_DATA BIT NOT NULL, REQUESTS_RECOVERY BIT NOT NULL, JOB_DATA BLOB NULL, PRIMARY KEY (SCHED_NAME, JOB_NAME, JOB_GROUP) );",
            "CREATE TABLE QRTZ_TRIGGERS ( SCHED_NAME NVARCHAR(120) NOT NULL, TRIGGER_NAME NVARCHAR(150) NOT NULL, TRIGGER_GROUP NVARCHAR(150) NOT NULL, JOB_NAME NVARCHAR(150) NOT NULL, JOB_GROUP NVARCHAR(150) NOT NULL, DESCRIPTION NVARCHAR(250) NULL, NEXT_FIRE_TIME BIGINT NULL, PREV_FIRE_TIME BIGINT NULL, PRIORITY INTEGER NULL, TRIGGER_STATE NVARCHAR(16) NOT NULL, TRIGGER_TYPE NVARCHAR(8) NOT NULL, START_TIME BIGINT NOT NULL, END_TIME BIGINT NULL, CALENDAR_NAME NVARCHAR(200) NULL, MISFIRE_INSTR INTEGER NULL, JOB_DATA BLOB NULL, PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME, JOB_NAME, JOB_GROUP) REFERENCES QRTZ_JOB_DETAILS (SCHED_NAME, JOB_NAME, JOB_GROUP) );",
            "CREATE TABLE QRTZ_SIMPLE_TRIGGERS ( SCHED_NAME NVARCHAR(120) NOT NULL, TRIGGER_NAME NVARCHAR(150) NOT NULL, TRIGGER_GROUP NVARCHAR(150) NOT NULL, REPEAT_COUNT BIGINT NOT NULL, REPEAT_INTERVAL BIGINT NOT NULL, TIMES_TRIGGERED BIGINT NOT NULL, PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP) ON DELETE CASCADE );",
            "CREATE TRIGGER DELETE_SIMPLE_TRIGGER DELETE ON QRTZ_TRIGGERS BEGIN DELETE FROM QRTZ_SIMPLE_TRIGGERS WHERE SCHED_NAME=OLD.SCHED_NAME AND TRIGGER_NAME=OLD.TRIGGER_NAME AND TRIGGER_GROUP=OLD.TRIGGER_GROUP; END ;",
            "CREATE TABLE QRTZ_SIMPROP_TRIGGERS( SCHED_NAME NVARCHAR (120) NOT NULL , TRIGGER_NAME NVARCHAR (150) NOT NULL , TRIGGER_GROUP NVARCHAR (150) NOT NULL , STR_PROP_1 NVARCHAR (512) NULL, STR_PROP_2 NVARCHAR (512) NULL, STR_PROP_3 NVARCHAR (512) NULL, INT_PROP_1 INT NULL, INT_PROP_2 INT NULL, LONG_PROP_1 BIGINT NULL, LONG_PROP_2 BIGINT NULL, DEC_PROP_1 NUMERIC NULL, DEC_PROP_2 NUMERIC NULL, BOOL_PROP_1 BIT NULL, BOOL_PROP_2 BIT NULL, TIME_ZONE_ID NVARCHAR(80) NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) ON DELETE CASCADE);",
            "CREATE TRIGGER DELETE_SIMPROP_TRIGGER DELETE ON QRTZ_TRIGGERS BEGIN DELETE FROM QRTZ_SIMPROP_TRIGGERS WHERE SCHED_NAME=OLD.SCHED_NAME AND TRIGGER_NAME=OLD.TRIGGER_NAME AND TRIGGER_GROUP=OLD.TRIGGER_GROUP; END ;",
            "CREATE TABLE QRTZ_CRON_TRIGGERS( SCHED_NAME NVARCHAR(120) NOT NULL, TRIGGER_NAME NVARCHAR(150) NOT NULL, TRIGGER_GROUP NVARCHAR(150) NOT NULL, CRON_EXPRESSION NVARCHAR(250) NOT NULL, TIME_ZONE_ID NVARCHAR(80), PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) ON DELETE CASCADE);",
            "CREATE TRIGGER DELETE_CRON_TRIGGER DELETE ON QRTZ_TRIGGERS BEGIN DELETE FROM QRTZ_CRON_TRIGGERS WHERE SCHED_NAME=OLD.SCHED_NAME AND TRIGGER_NAME=OLD.TRIGGER_NAME AND TRIGGER_GROUP=OLD.TRIGGER_GROUP; END ;",
            "CREATE TABLE QRTZ_BLOB_TRIGGERS( SCHED_NAME NVARCHAR(120) NOT NULL, TRIGGER_NAME NVARCHAR(150) NOT NULL, TRIGGER_GROUP NVARCHAR(150) NOT NULL, BLOB_DATA BLOB NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) ON DELETE CASCADE); ",
            "CREATE TRIGGER DELETE_BLOB_TRIGGER DELETE ON QRTZ_TRIGGERS BEGIN DELETE FROM QRTZ_BLOB_TRIGGERS WHERE SCHED_NAME=OLD.SCHED_NAME AND TRIGGER_NAME=OLD.TRIGGER_NAME AND TRIGGER_GROUP=OLD.TRIGGER_GROUP; END ;",
            "CREATE TABLE QRTZ_CALENDARS( SCHED_NAME NVARCHAR(120) NOT NULL, CALENDAR_NAME NVARCHAR(200) NOT NULL, CALENDAR BLOB NOT NULL, PRIMARY KEY (SCHED_NAME,CALENDAR_NAME));",
            "CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS( SCHED_NAME NVARCHAR(120) NOT NULL, TRIGGER_GROUP NVARCHAR(150) NOT NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP));",
            "CREATE TABLE QRTZ_FIRED_TRIGGERS( SCHED_NAME NVARCHAR(120) NOT NULL, ENTRY_ID NVARCHAR(140) NOT NULL, TRIGGER_NAME NVARCHAR(150) NOT NULL, TRIGGER_GROUP NVARCHAR(150) NOT NULL, INSTANCE_NAME NVARCHAR(200) NOT NULL, FIRED_TIME BIGINT NOT NULL, SCHED_TIME BIGINT NOT NULL, PRIORITY INTEGER NOT NULL, STATE NVARCHAR(16) NOT NULL, JOB_NAME NVARCHAR(150) NULL, JOB_GROUP NVARCHAR(150) NULL, IS_NONCONCURRENT BIT NULL, REQUESTS_RECOVERY BIT NULL, PRIMARY KEY (SCHED_NAME,ENTRY_ID));",
            "CREATE TABLE QRTZ_SCHEDULER_STATE( SCHED_NAME NVARCHAR(120) NOT NULL, INSTANCE_NAME NVARCHAR(200) NOT NULL, LAST_CHECKIN_TIME BIGINT NOT NULL, CHECKIN_INTERVAL BIGINT NOT NULL, PRIMARY KEY (SCHED_NAME,INSTANCE_NAME));",
            "CREATE TABLE QRTZ_LOCKS( SCHED_NAME NVARCHAR(120) NOT NULL, LOCK_NAME NVARCHAR(40) NOT NULL, PRIMARY KEY (SCHED_NAME,LOCK_NAME));"
        };
    }
}